<html>
 <body>
  <p>
   <strong>MAVLink Include Files:</strong>
   <a href="standard.md">standard.xml</a>
  </p>
  <h2>MAVLink Protocol Version</h2>
  <p>The current MAVLink version is 2.0. The minor version numbers (after the dot) range from 1-255.</p>
  <p>This file has protocol dialect: 0.</p>
  <h2 id="enums">MAVLink Type Enumerations</h2>
  <h3 id="WIFI_NETWORK_SECURITY">WIFI_NETWORK_SECURITY</h3>
  <p>
   <a href="#enums">
    [Enum]
   </a>WiFi wireless security protocols.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Value</th>
     <th>Field Name</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr id="WIFI_NETWORK_SECURITY_UNDEFINED">
     <td>0</td>
     <td>
      <a href="#WIFI_NETWORK_SECURITY_UNDEFINED">WIFI_NETWORK_SECURITY_UNDEFINED</a>
     </td>
     <td>Undefined or unknown security protocol.</td>
    </tr>
    <tr id="WIFI_NETWORK_SECURITY_OPEN">
     <td>1</td>
     <td>
      <a href="#WIFI_NETWORK_SECURITY_OPEN">WIFI_NETWORK_SECURITY_OPEN</a>
     </td>
     <td>Open network, no security.</td>
    </tr>
    <tr id="WIFI_NETWORK_SECURITY_WEP">
     <td>2</td>
     <td>
      <a href="#WIFI_NETWORK_SECURITY_WEP">WIFI_NETWORK_SECURITY_WEP</a>
     </td>
     <td>WEP.</td>
    </tr>
    <tr id="WIFI_NETWORK_SECURITY_WPA1">
     <td>3</td>
     <td>
      <a href="#WIFI_NETWORK_SECURITY_WPA1">WIFI_NETWORK_SECURITY_WPA1</a>
     </td>
     <td>WPA1.</td>
    </tr>
    <tr id="WIFI_NETWORK_SECURITY_WPA2">
     <td>4</td>
     <td>
      <a href="#WIFI_NETWORK_SECURITY_WPA2">WIFI_NETWORK_SECURITY_WPA2</a>
     </td>
     <td>WPA2.</td>
    </tr>
    <tr id="WIFI_NETWORK_SECURITY_WPA3">
     <td>5</td>
     <td>
      <a href="#WIFI_NETWORK_SECURITY_WPA3">WIFI_NETWORK_SECURITY_WPA3</a>
     </td>
     <td>WPA3.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="AIRSPEED_SENSOR_TYPE">AIRSPEED_SENSOR_TYPE</h3>
  <p>
   <a href="#enums">
    [Enum]
   </a>Types of airspeed sensor/data. May be be used in AIRSPEED message to estimate accuracy of indicated speed.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Value</th>
     <th>Field Name</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr id="AIRSPEED_SENSOR_TYPE_UNKNOWN">
     <td>0</td>
     <td>
      <a href="#AIRSPEED_SENSOR_TYPE_UNKNOWN">AIRSPEED_SENSOR_TYPE_UNKNOWN</a>
     </td>
     <td>Airspeed sensor type unknown/not supplied.</td>
    </tr>
    <tr id="AIRSPEED_SENSOR_TYPE_DIFFERENTIAL">
     <td>1</td>
     <td>
      <a href="#AIRSPEED_SENSOR_TYPE_DIFFERENTIAL">AIRSPEED_SENSOR_TYPE_DIFFERENTIAL</a>
     </td>
     <td>Differential airspeed sensor</td>
    </tr>
    <tr id="AIRSPEED_SENSOR_TYPE_MASS_FLOW">
     <td>2</td>
     <td>
      <a href="#AIRSPEED_SENSOR_TYPE_MASS_FLOW">AIRSPEED_SENSOR_TYPE_MASS_FLOW</a>
     </td>
     <td>Mass-flow airspeed sensor.</td>
    </tr>
    <tr id="AIRSPEED_SENSOR_TYPE_WINDVANE">
     <td>3</td>
     <td>
      <a href="#AIRSPEED_SENSOR_TYPE_WINDVANE">AIRSPEED_SENSOR_TYPE_WINDVANE</a>
     </td>
     <td>Windvane airspeed sensor.</td>
    </tr>
    <tr id="AIRSPEED_SENSOR_TYPE_SYNTHETIC">
     <td>4</td>
     <td>
      <a href="#AIRSPEED_SENSOR_TYPE_SYNTHETIC">AIRSPEED_SENSOR_TYPE_SYNTHETIC</a>
     </td>
     <td>Synthetic/calculated airspeed.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="PARAM_TRANSACTION_TRANSPORT">PARAM_TRANSACTION_TRANSPORT</h3>
  <p>
   <a href="#enums">
    [Enum]
   </a>Possible transport layers to set and get parameters via mavlink during a parameter transaction.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Value</th>
     <th>Field Name</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr id="PARAM_TRANSACTION_TRANSPORT_PARAM">
     <td>0</td>
     <td>
      <a href="#PARAM_TRANSACTION_TRANSPORT_PARAM">PARAM_TRANSACTION_TRANSPORT_PARAM</a>
     </td>
     <td>Transaction over param transport.</td>
    </tr>
    <tr id="PARAM_TRANSACTION_TRANSPORT_PARAM_EXT">
     <td>1</td>
     <td>
      <a href="#PARAM_TRANSACTION_TRANSPORT_PARAM_EXT">PARAM_TRANSACTION_TRANSPORT_PARAM_EXT</a>
     </td>
     <td>Transaction over param_ext transport.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="PARAM_TRANSACTION_ACTION">PARAM_TRANSACTION_ACTION</h3>
  <p>
   <a href="#enums">
    [Enum]
   </a>Possible parameter transaction actions.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Value</th>
     <th>Field Name</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr id="PARAM_TRANSACTION_ACTION_START">
     <td>0</td>
     <td>
      <a href="#PARAM_TRANSACTION_ACTION_START">PARAM_TRANSACTION_ACTION_START</a>
     </td>
     <td>Commit the current parameter transaction.</td>
    </tr>
    <tr id="PARAM_TRANSACTION_ACTION_COMMIT">
     <td>1</td>
     <td>
      <a href="#PARAM_TRANSACTION_ACTION_COMMIT">PARAM_TRANSACTION_ACTION_COMMIT</a>
     </td>
     <td>Commit the current parameter transaction.</td>
    </tr>
    <tr id="PARAM_TRANSACTION_ACTION_CANCEL">
     <td>2</td>
     <td>
      <a href="#PARAM_TRANSACTION_ACTION_CANCEL">PARAM_TRANSACTION_ACTION_CANCEL</a>
     </td>
     <td>Cancel the current parameter transaction.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="MAV_STANDARD_MODE">MAV_STANDARD_MODE</h3>
  <p>
   <a href="#enums">
    [Enum]
   </a>Standard modes with a well understood meaning across flight stacks and vehicle types.
        For example, most flight stack have the concept of a "return" or "RTL" mode that takes a vehicle to safety, even though the precise mechanics of this mode may differ.
        Modes may be set using <a href="#MAV_CMD_DO_SET_STANDARD_MODE">MAV_CMD_DO_SET_STANDARD_MODE</a>.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Value</th>
     <th>Field Name</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr id="MAV_STANDARD_MODE_NON_STANDARD">
     <td>0</td>
     <td>
      <a href="#MAV_STANDARD_MODE_NON_STANDARD">MAV_STANDARD_MODE_NON_STANDARD</a>
     </td>
     <td>Non standard mode.
          This may be used when reporting the mode if the current flight mode is not a standard mode.</td>
    </tr>
    <tr id="MAV_STANDARD_MODE_POSITION_HOLD">
     <td>1</td>
     <td>
      <a href="#MAV_STANDARD_MODE_POSITION_HOLD">MAV_STANDARD_MODE_POSITION_HOLD</a>
     </td>
     <td>Position mode (manual).
          Position-controlled and stabilized manual mode.
          When sticks are released vehicles return to their level-flight orientation and hold both position and altitude against wind and external forces.
          This mode can only be set by vehicles that can hold a fixed position.
          Multicopter (MC) vehicles actively brake and hold both position and altitude against wind and external forces.
          Hybrid MC/FW ("VTOL") vehicles first transition to multicopter mode (if needed) but otherwise behave in the same way as MC vehicles.
          Fixed-wing (FW) vehicles must not support this mode.
          Other vehicle types must not support this mode (this may be revisited through the PR process).</td>
    </tr>
    <tr id="MAV_STANDARD_MODE_ORBIT">
     <td>2</td>
     <td>
      <a href="#MAV_STANDARD_MODE_ORBIT">MAV_STANDARD_MODE_ORBIT</a>
     </td>
     <td>Orbit (manual).
          Position-controlled and stabilized manual mode.
          The vehicle circles around a fixed setpoint in the horizontal plane at a particular radius, altitude, and direction.
          Flight stacks may further allow manual control over the setpoint position, radius, direction, speed, and/or altitude of the circle, but this is not mandated.
          Flight stacks may support the [MAV_CMD_DO_ORBIT](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_ORBIT) for changing the orbit parameters.
          MC and FW vehicles may support this mode.
          Hybrid MC/FW ("VTOL") vehicles may support this mode in MC/FW or both modes; if the mode is not supported by the current configuration the vehicle should transition to the supported configuration.
          Other vehicle types must not support this mode (this may be revisited through the PR process).</td>
    </tr>
    <tr id="MAV_STANDARD_MODE_CRUISE">
     <td>3</td>
     <td>
      <a href="#MAV_STANDARD_MODE_CRUISE">MAV_STANDARD_MODE_CRUISE</a>
     </td>
     <td>Cruise mode (manual).
          Position-controlled and stabilized manual mode.
          When sticks are released vehicles return to their level-flight orientation and hold their original track against wind and external forces.
          Fixed-wing (FW) vehicles level orientation and maintain current track and altitude against wind and external forces.
          Hybrid MC/FW ("VTOL") vehicles first transition to FW mode (if needed) but otherwise behave in the same way as MC vehicles.
          Multicopter (MC) vehicles must not support this mode.
          Other vehicle types must not support this mode (this may be revisited through the PR process).</td>
    </tr>
    <tr id="MAV_STANDARD_MODE_ALTITUDE_HOLD">
     <td>4</td>
     <td>
      <a href="#MAV_STANDARD_MODE_ALTITUDE_HOLD">MAV_STANDARD_MODE_ALTITUDE_HOLD</a>
     </td>
     <td>Altitude hold (manual).
          Altitude-controlled and stabilized manual mode.
          When sticks are released vehicles return to their level-flight orientation and hold their altitude.
          MC vehicles continue with existing momentum and may move with wind (or other external forces).
          FW vehicles continue with current heading, but may be moved off-track by wind.
          Hybrid MC/FW ("VTOL") vehicles behave according to their current configuration/mode (FW or MC).
          Other vehicle types must not support this mode (this may be revisited through the PR process).</td>
    </tr>
    <tr id="MAV_STANDARD_MODE_RETURN_HOME">
     <td>5</td>
     <td>
      <a href="#MAV_STANDARD_MODE_RETURN_HOME">MAV_STANDARD_MODE_RETURN_HOME</a>
     </td>
     <td>Return home mode (auto).
          Automatic mode that returns vehicle to home via a safe flight path.
          It may also automatically land the vehicle (i.e. RTL).
          The precise flight path and landing behaviour depend on vehicle configuration and type.</td>
    </tr>
    <tr id="MAV_STANDARD_MODE_SAFE_RECOVERY">
     <td>6</td>
     <td>
      <a href="#MAV_STANDARD_MODE_SAFE_RECOVERY">MAV_STANDARD_MODE_SAFE_RECOVERY</a>
     </td>
     <td>Safe recovery mode (auto).
          Automatic mode that takes vehicle to a predefined safe location via a safe flight path (rally point or mission defined landing) .
          It may also automatically land the vehicle.
          The precise return location, flight path, and landing behaviour depend on vehicle configuration and type.</td>
    </tr>
    <tr id="MAV_STANDARD_MODE_MISSION">
     <td>7</td>
     <td>
      <a href="#MAV_STANDARD_MODE_MISSION">MAV_STANDARD_MODE_MISSION</a>
     </td>
     <td>Mission mode (automatic).
          Automatic mode that executes MAVLink missions.
          Missions are executed from the current waypoint as soon as the mode is enabled.</td>
    </tr>
    <tr id="MAV_STANDARD_MODE_LAND">
     <td>8</td>
     <td>
      <a href="#MAV_STANDARD_MODE_LAND">MAV_STANDARD_MODE_LAND</a>
     </td>
     <td>Land mode (auto).
          Automatic mode that lands the vehicle at the current location.
          The precise landing behaviour depends on vehicle configuration and type.</td>
    </tr>
    <tr id="MAV_STANDARD_MODE_TAKEOFF">
     <td>9</td>
     <td>
      <a href="#MAV_STANDARD_MODE_TAKEOFF">MAV_STANDARD_MODE_TAKEOFF</a>
     </td>
     <td>Takeoff mode (auto).
          Automatic takeoff mode.
          The precise takeoff behaviour depends on vehicle configuration and type.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="MAV_BATTERY_STATUS_FLAGS">MAV_BATTERY_STATUS_FLAGS</h3>
  <p>
   <a href="#enums">
    [Enum]
   </a>Battery status flags for fault, health and state indication.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Value</th>
     <th>Field Name</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr id="MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE">
     <td>1</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE">MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE</a>
     </td>
     <td>The battery is not ready to use (fly).
          Set if the battery has faults or other conditions that make it unsafe to fly with.
          Note: It will be the logical OR of other status bits (chosen by the manufacturer/integrator).</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_CHARGING">
     <td>2</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_CHARGING">MAV_BATTERY_STATUS_FLAGS_CHARGING</a>
     </td>
     <td>Battery is charging.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_CELL_BALANCING">
     <td>4</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_CELL_BALANCING">MAV_BATTERY_STATUS_FLAGS_CELL_BALANCING</a>
     </td>
     <td>Battery is cell balancing (during charging).
          Not ready to use (<a href="#MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE">MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE</a> may be set).</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_CELL_IMBALANCE">
     <td>8</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_CELL_IMBALANCE">MAV_BATTERY_STATUS_FLAGS_FAULT_CELL_IMBALANCE</a>
     </td>
     <td>Battery cells are not balanced.
          Not ready to use.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_AUTO_DISCHARGING">
     <td>16</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_AUTO_DISCHARGING">MAV_BATTERY_STATUS_FLAGS_AUTO_DISCHARGING</a>
     </td>
     <td>Battery is auto discharging (towards storage level).
          Not ready to use (<a href="#MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE">MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE</a> would be set).</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_REQUIRES_SERVICE">
     <td>32</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_REQUIRES_SERVICE">MAV_BATTERY_STATUS_FLAGS_REQUIRES_SERVICE</a>
     </td>
     <td>Battery requires service (not safe to fly). 
          This is set at vendor discretion.
          It is likely to be set for most faults, and may also be set according to a maintenance schedule (such as age, or number of recharge cycles, etc.).</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_BAD_BATTERY">
     <td>64</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_BAD_BATTERY">MAV_BATTERY_STATUS_FLAGS_BAD_BATTERY</a>
     </td>
     <td>Battery is faulty and cannot be repaired (not safe to fly). 
          This is set at vendor discretion.
          The battery should be disposed of safely.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_PROTECTIONS_ENABLED">
     <td>128</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_PROTECTIONS_ENABLED">MAV_BATTERY_STATUS_FLAGS_PROTECTIONS_ENABLED</a>
     </td>
     <td>Automatic battery protection monitoring is enabled.
          When enabled, the system will monitor for certain kinds of faults, such as cells being over-voltage.
          If a fault is triggered then and protections are enabled then a safety fault (<a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_PROTECTION_SYSTEM">MAV_BATTERY_STATUS_FLAGS_FAULT_PROTECTION_SYSTEM</a>) will be set and power from the battery will be stopped.
          Note that battery protection monitoring should only be enabled when the vehicle is landed. Once the vehicle is armed, or starts moving, the protections should be disabled to prevent false positives from disabling the output.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_PROTECTION_SYSTEM">
     <td>256</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_PROTECTION_SYSTEM">MAV_BATTERY_STATUS_FLAGS_FAULT_PROTECTION_SYSTEM</a>
     </td>
     <td>The battery fault protection system had detected a fault and cut all power from the battery.
          This will only trigger if <a href="#MAV_BATTERY_STATUS_FLAGS_PROTECTIONS_ENABLED">MAV_BATTERY_STATUS_FLAGS_PROTECTIONS_ENABLED</a> is set.
          Other faults like <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_VOLT">MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_VOLT</a> may also be set, indicating the cause of the protection fault.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_VOLT">
     <td>512</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_VOLT">MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_VOLT</a>
     </td>
     <td>One or more cells are above their maximum voltage rating.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_VOLT">
     <td>1024</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_VOLT">MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_VOLT</a>
     </td>
     <td>One or more cells are below their minimum voltage rating.
          A battery that had deep-discharged might be irrepairably damaged, and set both <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_VOLT">MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_VOLT</a> and <a href="#MAV_BATTERY_STATUS_FLAGS_BAD_BATTERY">MAV_BATTERY_STATUS_FLAGS_BAD_BATTERY</a>.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_TEMPERATURE">
     <td>2048</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_TEMPERATURE">MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_TEMPERATURE</a>
     </td>
     <td>Over-temperature fault.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_TEMPERATURE">
     <td>4096</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_TEMPERATURE">MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_TEMPERATURE</a>
     </td>
     <td>Under-temperature fault.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_CURRENT">
     <td>8192</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_CURRENT">MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_CURRENT</a>
     </td>
     <td>Over-current fault.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_SHORT_CIRCUIT">
     <td>16384</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_SHORT_CIRCUIT">MAV_BATTERY_STATUS_FLAGS_FAULT_SHORT_CIRCUIT</a>
     </td>
     <td>Short circuit event detected.
          The battery may or may not be safe to use (check other flags).</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_VOLTAGE">
     <td>32768</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_VOLTAGE">MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_VOLTAGE</a>
     </td>
     <td>Voltage not compatible with power rail voltage (batteries on same power rail should have similar voltage).</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_FIRMWARE">
     <td>65536</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_FIRMWARE">MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_FIRMWARE</a>
     </td>
     <td>Battery firmware is not compatible with current autopilot firmware.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION">
     <td>131072</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION">MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION</a>
     </td>
     <td>Battery is not compatible due to cell configuration (e.g. 5s1p when vehicle requires 6s).</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL">
     <td>262144</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL">MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL</a>
     </td>
     <td>Battery capacity_consumed and capacity_remaining values are relative to a full battery (they sum to the total capacity of the battery).
          This flag would be set for a smart battery that can accurately determine its remaining charge across vehicle reboots and discharge/recharge cycles.
          If unset the capacity_consumed indicates the consumption since vehicle power-on, as measured using a power monitor. The capacity_remaining, if provided, indicates the estimated remaining capacity on the assumption that the battery was full on vehicle boot.
          If unset a GCS is recommended to advise that users fully charge the battery on power on.</td>
    </tr>
    <tr id="MAV_BATTERY_STATUS_FLAGS_EXTENDED">
     <td>4294967295</td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS_EXTENDED">MAV_BATTERY_STATUS_FLAGS_EXTENDED</a>
     </td>
     <td>Reserved (not used). If set, this will indicate that an additional status field exists for higher status values.</td>
    </tr>
   </tbody>
  </table>
  <a id="MAV_CMD">
  </a>
  <h2 id="mav_commands">MAVLink Commands (<a href="#mav_commands">MAV_CMD</a>)</h2>
  <blockquote class="alert alert-info clearfix">
   <strong class="fa fa-2x fa-edit">
   </strong>
   <p>MAVLink commands (<a href="#mav_commands">MAV_CMD</a>) and messages are different! These commands define the values of up to 7 parameters that are packaged INSIDE specific messages used in the Mission Protocol and Command Protocol. Use commands for actions in missions or if you need acknowledgment and/or retry logic from a request. Otherwise use messages.</p>
  </blockquote>
  <p>Commands to be executed by the MAV. They can be executed on user request, or as part of a mission script. If the action is used in a mission, the parameter mapping to the waypoint/mission message is as follows: Param 1, Param 2, Param 3, Param 4, X: Param 5, Y:Param 6, Z:Param 7. This command list is similar what ARINC 424 is for commercial aircraft: A data format how to interpret waypoint/mission data. NaN and INT32_MAX may be used in float/integer params (respectively) to indicate optional/default values (e.g. to use the component's current yaw or latitude rather than a specific value). See https://mavlink.io/en/guide/xml_schema.html#MAV_CMD for information about the structure of the <a href="#mav_commands">MAV_CMD</a> entries</p>
  <h3 id="MAV_CMD_DO_FIGURE_EIGHT">MAV_CMD_DO_FIGURE_EIGHT (<a href="#MAV_CMD_DO_FIGURE_EIGHT">35</a>
   )
  </h3>
  <p style="color:red">
   <strong>WORK IN PROGRESS:</strong> Do not use in stable production environments (it may change).</p>
  <p>
   <a href="#mav_commands">
    [Command]
   </a>Fly a figure eight path as defined by the parameters.
          Set parameters to NaN/INT32_MAX (as appropriate) to use system-default values.
          The command is intended for fixed wing vehicles (and VTOL hybrids flying in fixed-wing mode), allowing POI tracking for gimbals that don't support infinite rotation.
          This command only defines the flight path. Speed should be set independently (use e.g. <a href="#MAV_CMD_DO_CHANGE_SPEED">MAV_CMD_DO_CHANGE_SPEED</a>).
          Yaw and other degrees of freedom are not specified, and will be flight-stack specific (on vehicles where they can be controlled independent of the heading).</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Param (:Label)</th>
     <th>Description</th>
     <th>Units</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>1: Major Radius</td>
     <td>Major axis radius of the figure eight. Positive: orbit the north circle clockwise. Negative: orbit the north circle counter-clockwise.
        NaN: The radius will be set to 2.5 times the minor radius and direction is clockwise.
        Must be greater or equal to two times the minor radius for feasible values.</td>
     <td>m</td>
    </tr>
    <tr>
     <td>2: Minor Radius</td>
     <td>Minor axis radius of the figure eight. Defines the radius of the two circles that make up the figure. Negative value has no effect.
        NaN: The radius will be set to the default loiter radius.</td>
     <td>m</td>
    </tr>
    <tr>
     <td>3</td>
     <td>Reserved (set to NaN)</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>4: Orientation</td>
     <td>Orientation of the figure eight major axis with respect to true north (range: [-pi,pi]). NaN: use default orientation aligned to true north.</td>
     <td>rad</td>
    </tr>
    <tr>
     <td>5: Latitude/X</td>
     <td>Center point latitude/X coordinate according to <a href="#MAV_FRAME">MAV_FRAME</a>. If no <a href="#MAV_FRAME">MAV_FRAME</a> specified, <a href="#MAV_FRAME_GLOBAL">MAV_FRAME_GLOBAL</a> is assumed.
        INT32_MAX or NaN: Use current vehicle position, or current center if already loitering.</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>6: Longitude/Y</td>
     <td>Center point longitude/Y coordinate according to <a href="#MAV_FRAME">MAV_FRAME</a>. If no <a href="#MAV_FRAME">MAV_FRAME</a> specified, <a href="#MAV_FRAME_GLOBAL">MAV_FRAME_GLOBAL</a> is assumed.
        INT32_MAX or NaN: Use current vehicle position, or current center if already loitering.</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>7: Altitude/Z</td>
     <td>Center point altitude MSL/Z coordinate according to <a href="#MAV_FRAME">MAV_FRAME</a>. If no <a href="#MAV_FRAME">MAV_FRAME</a> specified, <a href="#MAV_FRAME_GLOBAL">MAV_FRAME_GLOBAL</a> is assumed.
        INT32_MAX or NaN: Use current vehicle altitude.</td>
     <td>
     </td>
    </tr>
   </tbody>
  </table>
  <h3 id="MAV_CMD_PARAM_TRANSACTION">MAV_CMD_PARAM_TRANSACTION (<a href="#MAV_CMD_PARAM_TRANSACTION">900</a>
   )
  </h3>
  <p>
   <a href="#mav_commands">
    [Command]
   </a>Request to start or end a parameter transaction. Multiple kinds of transport layers can be used to exchange parameters in the transaction (param, param_ext and mavftp). The command response can either be a success/failure or an in progress in case the receiving side takes some time to apply the parameters.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Param (:Label)</th>
     <th>Description</th>
     <th>Values</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>1: Action</td>
     <td>Action to be performed (start, commit, cancel, etc.)</td>
     <td>
      <a href="#PARAM_TRANSACTION_ACTION">PARAM_TRANSACTION_ACTION</a>
     </td>
    </tr>
    <tr>
     <td>2: Transport</td>
     <td>Possible transport layers to set and get parameters via mavlink during a parameter transaction.</td>
     <td>
      <a href="#PARAM_TRANSACTION_TRANSPORT">PARAM_TRANSACTION_TRANSPORT</a>
     </td>
    </tr>
    <tr>
     <td>3: Transaction ID</td>
     <td>Identifier for a specific transaction.</td>
     <td>
     </td>
    </tr>
   </tbody>
  </table>
  <h3 id="MAV_CMD_SET_FENCE_BREACH_ACTION">MAV_CMD_SET_FENCE_BREACH_ACTION (<a href="#MAV_CMD_SET_FENCE_BREACH_ACTION">5010</a>
   )
  </h3>
  <p>
   <a href="#mav_commands">
    [Command]
   </a>Sets the action on geofence breach.
          If sent using the command protocol this sets the system-default geofence action.
          As part of a mission protocol plan it sets the fence action for the next complete geofence definition *after* the command.
          Note: A fence action defined in a plan will override the default system setting (even if the system-default is `<a href="#FENCE_ACTION_NONE">FENCE_ACTION_NONE</a>`).
          Note: Every geofence in a plan can have its own action; if no fence action is defined for a particular fence the system-default will be used.
          Note: The flight stack should reject a plan or command that uses a geofence action that it does not support and send a STATUSTEXT with the reason.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Param (:Label)</th>
     <th>Description</th>
     <th>Values</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>1: Action</td>
     <td>Fence action on breach.</td>
     <td>
      <a href="#FENCE_ACTION">FENCE_ACTION</a>
     </td>
    </tr>
   </tbody>
  </table>
  <p>
  </p>
  <h3 id="MAV_CMD_DO_UPGRADE">MAV_CMD_DO_UPGRADE (<a href="#MAV_CMD_DO_UPGRADE">247</a>
   )
  </h3>
  <p>
   <a href="#mav_commands">
    [Command]
   </a>Request a target system to start an upgrade of one (or all) of its components.
          For example, the command might be sent to a companion computer to cause it to upgrade a connected flight controller.
          The system doing the upgrade will report progress using the normal command protocol sequence for a long running operation.
          Command protocol information: https://mavlink.io/en/services/command.html.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Param (:Label)</th>
     <th>Description</th>
     <th>Values</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>1: Component ID</td>
     <td>Component id of the component to be upgraded. If set to 0, all components should be upgraded.</td>
     <td>
      <a href="#MAV_COMPONENT">MAV_COMPONENT</a>
     </td>
    </tr>
    <tr>
     <td>2: Reboot</td>
     <td>0: Do not reboot component after the action is executed, 1: Reboot component after the action is executed.</td>
     <td>
      <em>min:</em>0 <em>max:</em>1 <em>increment:</em>1</td>
    </tr>
    <tr>
     <td>3</td>
     <td>Reserved</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>4</td>
     <td>Reserved</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>5</td>
     <td>Reserved</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>6</td>
     <td>Reserved</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>7</td>
     <td>WIP: upgrade progress report rate (can be used for more granular control).</td>
     <td>
     </td>
    </tr>
   </tbody>
  </table>
  <h3 id="MAV_CMD_GROUP_START">MAV_CMD_GROUP_START (<a href="#MAV_CMD_GROUP_START">301</a>
   )
  </h3>
  <p>
   <a href="#mav_commands">
    [Command]
   </a>Define start of a group of mission items. When control reaches this command a <a href="#GROUP_START">GROUP_START</a> message is emitted.
          The end of a group is marked using <a href="#MAV_CMD_GROUP_END">MAV_CMD_GROUP_END</a> with the same group id.
          Group ids are expected, but not required, to iterate sequentially.
          Groups can be nested.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Param (:Label)</th>
     <th>Description</th>
     <th>Values</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>1: Group ID</td>
     <td>Mission-unique group id.
          Group id is limited because only 24 bit integer can be stored in 32 bit float.</td>
     <td>
      <em>min:</em>0 <em>max:</em>16777216 <em>increment:</em>1</td>
    </tr>
   </tbody>
  </table>
  <h3 id="MAV_CMD_GROUP_END">MAV_CMD_GROUP_END (<a href="#MAV_CMD_GROUP_END">302</a>
   )
  </h3>
  <p>
   <a href="#mav_commands">
    [Command]
   </a>Define end of a group of mission items. When control reaches this command a <a href="#GROUP_END">GROUP_END</a> message is emitted.
          The start of the group is marked is marked using <a href="#MAV_CMD_GROUP_START">MAV_CMD_GROUP_START</a> with the same group id.
          Group ids are expected, but not required, to iterate sequentially.
          Groups can be nested.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Param (:Label)</th>
     <th>Description</th>
     <th>Values</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>1: Group ID</td>
     <td>Mission-unique group id.
          Group id is limited because only 24 bit integer can be stored in 32 bit float.</td>
     <td>
      <em>min:</em>0 <em>max:</em>16777216 <em>increment:</em>1</td>
    </tr>
   </tbody>
  </table>
  <h3 id="MAV_CMD_DO_SET_STANDARD_MODE">MAV_CMD_DO_SET_STANDARD_MODE (<a href="#MAV_CMD_DO_SET_STANDARD_MODE">262</a>
   )
  </h3>
  <p>
   <a href="#mav_commands">
    [Command]
   </a>Enable the specified standard MAVLink mode.
          If the mode is not supported the vehicle should ACK with <a href="#MAV_RESULT_FAILED">MAV_RESULT_FAILED</a>.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Param (:Label)</th>
     <th>Description</th>
     <th>Values</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>1: Standard Mode</td>
     <td>The mode to set.</td>
     <td>
      <a href="#MAV_STANDARD_MODE">MAV_STANDARD_MODE</a>
     </td>
    </tr>
    <tr>
     <td>2</td>
     <td>Reserved (set to 0)</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>3</td>
     <td>Reserved (set to 0)</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>4</td>
     <td>Reserved (set to 0)</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>5</td>
     <td>Reserved (set to 0)</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>6</td>
     <td>Reserved (set to 0)</td>
     <td>
     </td>
    </tr>
    <tr>
     <td>7</td>
     <td>Reserved (set to NaN)</td>
     <td>
     </td>
    </tr>
   </tbody>
  </table>
  <h2 id="messages">MAVLink Messages</h2>
  <h3 id="PARAM_ACK_TRANSACTION">PARAM_ACK_TRANSACTION (<a href="#PARAM_ACK_TRANSACTION">
    #19
   </a>
   )
  </h3>
  <p>
   <a href="#messages">
    [Message]
   </a>Response from a <a href="#PARAM_SET">PARAM_SET</a> message when it is used in a transaction.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Values</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>target_system</td>
     <td>uint8_t</td>
     <td>
     </td>
     <td>Id of system that sent <a href="#PARAM_SET">PARAM_SET</a> message.</td>
    </tr>
    <tr>
     <td>target_component</td>
     <td>uint8_t</td>
     <td>
     </td>
     <td>Id of system that sent <a href="#PARAM_SET">PARAM_SET</a> message.</td>
    </tr>
    <tr>
     <td>param_id</td>
     <td>char[16]</td>
     <td>
     </td>
     <td>Parameter id, terminated by NULL if the length is less than 16 human-readable chars and WITHOUT null termination (NULL) byte if the length is exactly 16 chars - applications have to provide 16+1 bytes storage if the ID is stored as string</td>
    </tr>
    <tr>
     <td>param_value</td>
     <td>float</td>
     <td>
     </td>
     <td>Parameter value (new value if <a href="#PARAM_ACCEPTED">PARAM_ACCEPTED</a>, current value otherwise)</td>
    </tr>
    <tr>
     <td>param_type</td>
     <td>uint8_t</td>
     <td>
      <a href="#MAV_PARAM_TYPE">MAV_PARAM_TYPE</a>
     </td>
     <td>Parameter type.</td>
    </tr>
    <tr>
     <td>param_result</td>
     <td>uint8_t</td>
     <td>
      <a href="#PARAM_ACK">PARAM_ACK</a>
     </td>
     <td>Result code.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="MISSION_CHECKSUM">MISSION_CHECKSUM (<a href="#MISSION_CHECKSUM">
    #53
   </a>
   )
  </h3>
  <p>
   <a href="#messages">
    [Message]
   </a>Checksum for the current mission, rally point or geofence plan, or for the "combined" plan (a GCS can use these checksums to determine if it has matching plans).
        This message must be broadcast with the appropriate checksum following any change to a mission, geofence or rally point definition
        (immediately after the <a href="#MISSION_ACK">MISSION_ACK</a> that completes the upload sequence).
        It may also be requested using <a href="#MAV_CMD_REQUEST_MESSAGE">MAV_CMD_REQUEST_MESSAGE</a>, where param 2 indicates the plan type for which the checksum is required.
        The checksum must be calculated on the autopilot, but may also be calculated by the GCS.
        The checksum uses the same CRC32 algorithm as MAVLink FTP (https://mavlink.io/en/services/ftp.html#crc32-implementation).
        The checksum for a mission, geofence or rally point definition is run over each item in the plan in seq order (excluding the home location if present in the plan), and covers the following fields (in order):
        frame, command, autocontinue, param1, param2, param3, param4, param5, param6, param7.
        The checksum for the whole plan (<a href="#MAV_MISSION_TYPE_ALL">MAV_MISSION_TYPE_ALL</a>) is calculated using the same approach, running over each sub-plan in the following order: mission, geofence then rally point.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Values</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>mission_type</td>
     <td>uint8_t</td>
     <td>
      <a href="#MAV_MISSION_TYPE">MAV_MISSION_TYPE</a>
     </td>
     <td>Mission type.</td>
    </tr>
    <tr>
     <td>checksum</td>
     <td>uint32_t</td>
     <td>
     </td>
     <td>CRC32 checksum of current plan for specified type.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="AIRSPEED">AIRSPEED (<a href="#AIRSPEED">
    #295
   </a>
   )
  </h3>
  <p>
   <a href="#messages">
    [Message]
   </a>
   <strong>
    (MAVLink 2)
   </strong>Airspeed information from a sensor.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Units</th>
     <th>Values</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>id</td>
     <td>uint8_t</td>
     <td>
     </td>
     <td>
     </td>
     <td>Sensor ID.</td>
    </tr>
    <tr>
     <td>airspeed</td>
     <td>float</td>
     <td>m/s</td>
     <td>
     </td>
     <td>Calibrated airspeed (CAS) if available, otherwise indicated airspeed (IAS).</td>
    </tr>
    <tr>
     <td>temperature</td>
     <td>int16_t</td>
     <td>cdegC</td>
     <td>
     </td>
     <td>Temperature. INT16_MAX for value unknown/not supplied.</td>
    </tr>
    <tr>
     <td>press_diff</td>
     <td>float</td>
     <td>hPa</td>
     <td>
     </td>
     <td>Differential pressure. NaN for value unknown/not supplied.</td>
    </tr>
    <tr>
     <td>press_static</td>
     <td>float</td>
     <td>hPa</td>
     <td>
     </td>
     <td>Static pressure. NaN for value unknown/not supplied.</td>
    </tr>
    <tr>
     <td>error</td>
     <td>float</td>
     <td>m/s</td>
     <td>
     </td>
     <td>Error/accuracy. NaN for value unknown/not supplied.</td>
    </tr>
    <tr>
     <td>type</td>
     <td>uint8_t</td>
     <td>
     </td>
     <td>
      <a href="#AIRSPEED_SENSOR_TYPE">AIRSPEED_SENSOR_TYPE</a>
     </td>
     <td>Airspeed sensor type. NaN for value unknown/not supplied. Used to estimate accuracy (i.e. as an alternative to using the error field).</td>
    </tr>
   </tbody>
  </table>
  <h3 id="WIFI_NETWORK_INFO">WIFI_NETWORK_INFO (<a href="#WIFI_NETWORK_INFO">
    #298
   </a>
   )
  </h3>
  <p>
   <a href="#messages">
    [Message]
   </a>
   <strong>
    (MAVLink 2)
   </strong>Detected WiFi network status information. This message is sent per each WiFi network detected in range with known SSID and general status parameters.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Units</th>
     <th>Values</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>ssid</td>
     <td>char[32]</td>
     <td>
     </td>
     <td>
     </td>
     <td>Name of Wi-Fi network (SSID).</td>
    </tr>
    <tr>
     <td>channel_id</td>
     <td>uint8_t</td>
     <td>
     </td>
     <td>
     </td>
     <td>WiFi network operating channel ID. Set to 0 if unknown or unidentified.</td>
    </tr>
    <tr>
     <td>signal_quality</td>
     <td>uint8_t</td>
     <td>
      %
     </td>
     <td>
     </td>
     <td>WiFi network signal quality.</td>
    </tr>
    <tr>
     <td>data_rate</td>
     <td>uint16_t</td>
     <td>MiB/s</td>
     <td>
     </td>
     <td>WiFi network data rate. Set to UINT16_MAX if data_rate information is not supplied.</td>
    </tr>
    <tr>
     <td>security</td>
     <td>uint8_t</td>
     <td>
     </td>
     <td>
      <a href="#WIFI_NETWORK_SECURITY">WIFI_NETWORK_SECURITY</a>
     </td>
     <td>WiFi network security type.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="FIGURE_EIGHT_EXECUTION_STATUS">FIGURE_EIGHT_EXECUTION_STATUS (<a href="#FIGURE_EIGHT_EXECUTION_STATUS">
    #361
   </a>
   )
  </h3>
  <p style="color:red">
   <strong>WORK IN PROGRESS:</strong> Do not use in stable production environments (it may change).</p>
  <p>
   <a href="#messages">
    [Message]
   </a>
   <strong>
    (MAVLink 2)
   </strong>Vehicle status report that is sent out while figure eight execution is in progress (see <a href="#MAV_CMD_DO_FIGURE_EIGHT">MAV_CMD_DO_FIGURE_EIGHT</a>).
        This may typically send at low rates: of the order of 2Hz.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Units</th>
     <th>Values</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>time_usec</td>
     <td>uint64_t</td>
     <td>us</td>
     <td>
     </td>
     <td>Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.</td>
    </tr>
    <tr>
     <td>major_radius</td>
     <td>float</td>
     <td>m</td>
     <td>
     </td>
     <td>Major axis radius of the figure eight. Positive: orbit the north circle clockwise. Negative: orbit the north circle counter-clockwise.</td>
    </tr>
    <tr>
     <td>minor_radius</td>
     <td>float</td>
     <td>m</td>
     <td>
     </td>
     <td>Minor axis radius of the figure eight. Defines the radius of two circles that make up the figure.</td>
    </tr>
    <tr>
     <td>orientation</td>
     <td>float</td>
     <td>rad</td>
     <td>
     </td>
     <td>Orientation of the figure eight major axis with respect to true north in [-pi,pi).</td>
    </tr>
    <tr>
     <td>frame</td>
     <td>uint8_t</td>
     <td>
     </td>
     <td>
      <a href="#MAV_FRAME">MAV_FRAME</a>
     </td>
     <td>The coordinate system of the fields: x, y, z.</td>
    </tr>
    <tr>
     <td>x</td>
     <td>int32_t</td>
     <td>
     </td>
     <td>
     </td>
     <td>X coordinate of center point. Coordinate system depends on frame field.</td>
    </tr>
    <tr>
     <td>y</td>
     <td>int32_t</td>
     <td>
     </td>
     <td>
     </td>
     <td>Y coordinate of center point. Coordinate system depends on frame field.</td>
    </tr>
    <tr>
     <td>z</td>
     <td>float</td>
     <td>m</td>
     <td>
     </td>
     <td>Altitude of center point. Coordinate system depends on frame field.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="BATTERY_STATUS_V2">BATTERY_STATUS_V2 (<a href="#BATTERY_STATUS_V2">
    #369
   </a>
   )
  </h3>
  <p>
   <a href="#messages">
    [Message]
   </a>
   <strong>
    (MAVLink 2)
   </strong>Battery dynamic information.
        This should be streamed (nominally at 1Hz).
        Static/invariant battery information is sent in <a href="#SMART_BATTERY_INFO">SMART_BATTERY_INFO</a>.
        Note that smart batteries should set the <a href="#MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL">MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL</a> bit to indicate that supplied capacity values are relative to a battery that is known to be full.
        Power monitors would not set this bit, indicating that capacity_consumed is relative to drone power-on, and that other values are estimated based on the assumption that the battery was full on power-on.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Units</th>
     <th>Values</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>id</td>
     <td>uint8_t</td>
     <td>
     </td>
     <td>
     </td>
     <td>Battery ID</td>
    </tr>
    <tr>
     <td>temperature</td>
     <td>int16_t</td>
     <td>cdegC</td>
     <td>
     </td>
     <td>Temperature of the whole battery pack (not internal electronics). INT16_MAX field not provided.</td>
    </tr>
    <tr>
     <td>voltage</td>
     <td>float</td>
     <td>V</td>
     <td>
     </td>
     <td>Battery voltage (total). NaN: field not provided.</td>
    </tr>
    <tr>
     <td>current</td>
     <td>float</td>
     <td>A</td>
     <td>
     </td>
     <td>Battery current (through all cells/loads). Positive value when discharging and negative if charging. NaN: field not provided.</td>
    </tr>
    <tr>
     <td>capacity_consumed</td>
     <td>float</td>
     <td>Ah</td>
     <td>
     </td>
     <td>Consumed charge. NaN: field not provided. This is either the consumption since power-on or since the battery was full, depending on the value of <a href="#MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL">MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL</a>.</td>
    </tr>
    <tr>
     <td>capacity_remaining</td>
     <td>float</td>
     <td>Ah</td>
     <td>
     </td>
     <td>Remaining charge (until empty). UINT32_MAX: field not provided. Note: If <a href="#MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL">MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL</a> is unset, this value is based on the assumption the battery was full when the system was powered.</td>
    </tr>
    <tr>
     <td>percent_remaining</td>
     <td>uint8_t</td>
     <td>
      %
     </td>
     <td>
     </td>
     <td>Remaining battery energy. Values: [0-100], UINT8_MAX: field not provided.</td>
    </tr>
    <tr>
     <td>status_flags</td>
     <td>uint32_t</td>
     <td>
     </td>
     <td>
      <a href="#MAV_BATTERY_STATUS_FLAGS">MAV_BATTERY_STATUS_FLAGS</a>
     </td>
     <td>Fault, health, readiness, and other status indications.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="COMPONENT_INFORMATION_BASIC">COMPONENT_INFORMATION_BASIC (<a href="#COMPONENT_INFORMATION_BASIC">
    #396
   </a>
   )
  </h3>
  <p>
   <a href="#messages">
    [Message]
   </a>
   <strong>
    (MAVLink 2)
   </strong>Basic component information data.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Units</th>
     <th>Values</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>time_boot_ms</td>
     <td>uint32_t</td>
     <td>ms</td>
     <td>
     </td>
     <td>Timestamp (time since system boot).</td>
    </tr>
    <tr>
     <td>vendor_name</td>
     <td>uint8_t[32]</td>
     <td>
     </td>
     <td>
     </td>
     <td>Name of the component vendor</td>
    </tr>
    <tr>
     <td>model_name</td>
     <td>uint8_t[32]</td>
     <td>
     </td>
     <td>
     </td>
     <td>Name of the component model</td>
    </tr>
    <tr>
     <td>software_version</td>
     <td>char[24]</td>
     <td>
     </td>
     <td>
     </td>
     <td>Software version. The version format can be custom, recommended is SEMVER 'major.minor.patch'.</td>
    </tr>
    <tr>
     <td>hardware_version</td>
     <td>char[24]</td>
     <td>
     </td>
     <td>
     </td>
     <td>Hardware version. The version format can be custom, recommended is SEMVER 'major.minor.patch'.</td>
    </tr>
    <tr>
     <td>capabilities</td>
     <td>uint64_t</td>
     <td>
     </td>
     <td>
      <a href="#MAV_PROTOCOL_CAPABILITY">MAV_PROTOCOL_CAPABILITY</a>
     </td>
     <td>Component capability flags</td>
    </tr>
   </tbody>
  </table>
  <h3 id="GROUP_START">GROUP_START (<a href="#GROUP_START">
    #414
   </a>
   )
  </h3>
  <p>
   <a href="#messages">
    [Message]
   </a>
   <strong>
    (MAVLink 2)
   </strong>Emitted during mission execution when control reaches <a href="#MAV_CMD_GROUP_START">MAV_CMD_GROUP_START</a>.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Units</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>group_id</td>
     <td>uint32_t</td>
     <td>
     </td>
     <td>Mission-unique group id (from <a href="#MAV_CMD_GROUP_START">MAV_CMD_GROUP_START</a>).</td>
    </tr>
    <tr>
     <td>mission_checksum</td>
     <td>uint32_t</td>
     <td>
     </td>
     <td>CRC32 checksum of current plan for <a href="#MAV_MISSION_TYPE_ALL">MAV_MISSION_TYPE_ALL</a>. As defined in <a href="#MISSION_CHECKSUM">MISSION_CHECKSUM</a> message.</td>
    </tr>
    <tr>
     <td>time_usec</td>
     <td>uint64_t</td>
     <td>us</td>
     <td>Timestamp (UNIX Epoch time or time since system boot).
        The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="GROUP_END">GROUP_END (<a href="#GROUP_END">
    #415
   </a>
   )
  </h3>
  <p>
   <a href="#messages">
    [Message]
   </a>
   <strong>
    (MAVLink 2)
   </strong>Emitted during mission execution when control reaches <a href="#MAV_CMD_GROUP_END">MAV_CMD_GROUP_END</a>.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Units</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>group_id</td>
     <td>uint32_t</td>
     <td>
     </td>
     <td>Mission-unique group id (from <a href="#MAV_CMD_GROUP_END">MAV_CMD_GROUP_END</a>).</td>
    </tr>
    <tr>
     <td>mission_checksum</td>
     <td>uint32_t</td>
     <td>
     </td>
     <td>CRC32 checksum of current plan for <a href="#MAV_MISSION_TYPE_ALL">MAV_MISSION_TYPE_ALL</a>. As defined in <a href="#MISSION_CHECKSUM">MISSION_CHECKSUM</a> message.</td>
    </tr>
    <tr>
     <td>time_usec</td>
     <td>uint64_t</td>
     <td>us</td>
     <td>Timestamp (UNIX Epoch time or time since system boot).
        The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="AVAILABLE_MODES">AVAILABLE_MODES (<a href="#AVAILABLE_MODES">
    #435
   </a>
   )
  </h3>
  <p>
   <a href="#messages">
    [Message]
   </a>
   <strong>
    (MAVLink 2)
   </strong>Get information about a particular flight modes.
        The message can be enumerated or requested for a particular mode using <a href="#MAV_CMD_REQUEST_MESSAGE">MAV_CMD_REQUEST_MESSAGE</a>.
        Specify 0 in param2 to request that the message is emitted for all available modes or the specific index for just one mode.
        The modes must be available/settable for the current vehicle/frame type.
        Each modes should only be emitted once (even if it is both standard and custom).</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Values</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>number_modes</td>
     <td>uint8_t</td>
     <td>
     </td>
     <td>The total number of available modes for the current vehicle type.</td>
    </tr>
    <tr>
     <td>mode_index</td>
     <td>uint8_t</td>
     <td>
     </td>
     <td>The current mode index within number_modes, indexed from 1.</td>
    </tr>
    <tr>
     <td>standard_mode</td>
     <td>uint8_t</td>
     <td>
      <a href="#MAV_STANDARD_MODE">MAV_STANDARD_MODE</a>
     </td>
     <td>Standard mode.</td>
    </tr>
    <tr>
     <td>base_mode</td>
     <td>uint8_t</td>
     <td>
      <a href="#MAV_MODE_FLAG">MAV_MODE_FLAG</a>
     </td>
     <td>System mode bitmap.</td>
    </tr>
    <tr>
     <td>custom_mode</td>
     <td>uint32_t</td>
     <td>
     </td>
     <td>A bitfield for use for autopilot-specific flags</td>
    </tr>
    <tr>
     <td>mode_name</td>
     <td>char[50]</td>
     <td>
     </td>
     <td>Name of custom mode, with null termination character. Should be omitted for standard modes.</td>
    </tr>
   </tbody>
  </table>
  <h3 id="CURRENT_MODE">CURRENT_MODE (<a href="#CURRENT_MODE">
    #436
   </a>
   )
  </h3>
  <p>
   <a href="#messages">
    [Message]
   </a>
   <strong>
    (MAVLink 2)
   </strong>Get the current mode.
        This should be emitted on any mode change, and broadcast at low rate (nominally 0.5 Hz).
        It may be requested using <a href="#MAV_CMD_REQUEST_MESSAGE">MAV_CMD_REQUEST_MESSAGE</a>.</p>
  <table class="sortable">
   <thead>
    <tr>
     <th>Field Name</th>
     <th>Type</th>
     <th>Values</th>
     <th>Description</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>standard_mode</td>
     <td>uint8_t</td>
     <td>
      <a href="#MAV_STANDARD_MODE">MAV_STANDARD_MODE</a>
     </td>
     <td>Standard mode.</td>
    </tr>
    <tr>
     <td>base_mode</td>
     <td>uint8_t</td>
     <td>
      <a href="#MAV_MODE_FLAG">MAV_MODE_FLAG</a>
     </td>
     <td>System mode bitmap.</td>
    </tr>
    <tr>
     <td>custom_mode</td>
     <td>uint32_t</td>
     <td>
     </td>
     <td>A bitfield for use for autopilot-specific flags</td>
    </tr>
   </tbody>
  </table>
 </body>
</html>